package com.wangyi.basic.config;

import com.wangyi.basic.interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

//当前类是一个配置类 - 用于替换以前的xml配置
@Configuration
public class MyWebConfig implements WebMvcConfigurer {

    @Autowired //注入 - 前提 - 容器中有该类型的对象
    private LoginInterceptor loginInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginInterceptor)
                // 拦截所有请求
                .addPathPatterns("/**")
                // 放行跟登录的请求
                .excludePathPatterns("/login/**")
                // 放行跟注册有关的
                .excludePathPatterns("/user/*/register", "/verifyCode/**", "/shop/settlement", "/fastDfs")
                // 放行邮箱激活
                .excludePathPatterns("/user/active/**")
                // 放行swagger测试页面
                .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**");

    }
}
